﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace text.LinkedList
{
    public  class _24ecs
    {
        public class Solution
        {
            /// <summary>
            /// 24. 两两交换链表中的节点
            /// 给定一个链表，两两交换其中相邻的节点，并返回交换后的链表。
            ///你不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。
            /// </summary>
            /// <param name="head"></param>
            /// <returns></returns>
            public ListNode SwapPairs(ListNode head)
            {
                if (head==null||head.next==null)
                {
                    return head;
                }
                ListNode next = head.next;//保存地址
                head.next = SwapPairs(next.next);//返回后面翻转的信息
                next.next = head;
                return next;//返回翻转好的地址头信息
            }
        }
    }
}
